feat: add config types, validation, and docs for Slack message strategies#5226
Draft
santiagofn wants to merge 4 commits into
Draft
feat: add config types, validation, and docs for Slack message strategies#5226santiagofn wants to merge 4 commits into
santiagofn wants to merge 4 commits into
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
a05872d to
a91e7db
Compare
Moves the Slack notifier's internal types (`Notifier`, `request`, `attachment`, `slackResponse`) from slack.go into a new types.go. No behavioral changes. While moving them, two doc comments were tightened: - `request`: "slack notification" -> "Slack notification" - `attachment`: "richly-formatted message block" -> "richly formatted message block" Signed-off-by: Santiago Fernández Núñez <[email protected]> Co-authored-by: Cursor <[email protected]>
a91e7db to
d76b1f5
Compare
Moves SlackConfig (and the related SlackAction, SlackConfirmationField, SlackField types plus DefaultSlackConfig) from config/notifiers.go into a new notify/slack/config.go, following the same pattern used recently for the mattermost, jira, and incidentio notifiers. The Slack-specific unmarshal tests are moved alongside them into notify/slack/config_test.go. config.Receiver now refers to *slack.SlackConfig, and notify/slack no longer needs to import the top-level config package. No behavioral changes. Signed-off-by: Santiago Fernández Núñez <[email protected]> Co-authored-by: Cursor <[email protected]>
d76b1f5 to
0955986
Compare
Previously the Slack notifier hardcoded the chat.update endpoint to "https://slack.com/api/chat.update" regardless of the configured api_url. Deployments pointing api_url at a Slack-compatible proxy or forwarder were therefore forced back onto slack.com for update calls, which is the wrong host for proxy users. Move the URL handling into a new internal/apiurl package, and route chat.update (and any future Slack Web API method) through the same api_url / api_url_file base as the initial chat.postMessage call. Standard configurations are unaffected; the generated URL is byte identical. The Resolver also reads api_url_file on every call, matching previous behaviour so that file rotations apply to the next notification without restarting Alertmanager. Signed-off-by: Santiago Fernández Núñez <[email protected]> Co-authored-by: Cursor <[email protected]>
…gies Signed-off-by: Santiago Fernández Núñez <[email protected]>
0955986 to
46a265d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part 3 of a series implementing threaded message support for the Slack notifier. Full picture: #5150. Depends on #5224 and #5225.
Summary
Adds configuration types, validation logic, and documentation for two new Slack message strategies:
updateandthread. Includes 7 new test configuration fixtures covering valid configs and expected error cases.